package com.coscoshipping.rams.demo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 票型销售统计表
 * </p>
 *
 * @author zhaoyin.yang
 * @since 2025-04-20
 */
@Getter
@Setter
@TableName("ticket_sales_statistics")
@Schema(name = "TicketSalesStatistics", description = "票型销售统计表")
public class TicketSalesStatistics implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(description = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @Schema(description = "票型分类")
    @TableField("ticket_type_category")
    private String ticketTypeCategory;

    @Schema(description = "票型")
    @TableField("ticket_type")
    private String ticketType;

    @Schema(description = "客户类型")
    @TableField("customer_type")
    private String customerType;

    @Schema(description = "交易类型")
    @TableField("transaction_type")
    private String transactionType;

    @Schema(description = "票种")
    @TableField("ticket_variety")
    private String ticketVariety;

    @Schema(description = "单价")
    @TableField("unit_price")
    private BigDecimal unitPrice;

    @Schema(description = "数量")
    @TableField("quantity")
    private Integer quantity;

    @Schema(description = "金额")
    @TableField("amount")
    private BigDecimal amount;

    @Schema(description = "税后金额")
    @TableField("after_tax_amount")
    private BigDecimal afterTaxAmount;

    @Schema(description = "销售日期")
    @TableField("sales_date")
    private LocalDate salesDate;

    public static final String ID = "id";

    public static final String TICKET_TYPE_CATEGORY = "ticket_type_category";

    public static final String TICKET_TYPE = "ticket_type";

    public static final String CUSTOMER_TYPE = "customer_type";

    public static final String TRANSACTION_TYPE = "transaction_type";

    public static final String TICKET_VARIETY = "ticket_variety";

    public static final String UNIT_PRICE = "unit_price";

    public static final String QUANTITY = "quantity";

    public static final String AMOUNT = "amount";

    public static final String AFTER_TAX_AMOUNT = "after_tax_amount";

    public static final String SALES_DATE = "sales_date";
}
